Просмотр полной версии : cssRules.length не работает в Хроме
Здравствуйте, форумчане! Вопрос такой, подключаю в <head> два файла со стилями:
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/themes.css">
потом с помощью JS пытаюсь alert'oм вывести количество свойств у первого стиля:
alert(document.styleSheets[0].cssRules.length)
Проблема вот в чем: в Хроме и Опере alert не выводит, а в Лисе и даже в IE выводит!!!.
PS. Если вставить содержимое первого стиля в сам документ, то во всех браузерах alert выводит. Но мне нужно только чтоб подключались внешние файлы с таблицами стилей.
Загружай по HTTP и все будет работать. С file:/// всегда проблемы.
Действительно!Выложил на свой сайт!Заработало!)))Почему интересно локально не работает(((
Действительно!Выложил на свой сайт!Заработало!)))Почему интересно локально не работает(((
потому что браузеры предполагают работу в сети, поставь локальный сервер и не придётся выкладывать на сервер хостера
kostyanet
29.11.2014, 13:44
html с сетью никак не связан, браузеру пофигу откуда этот текст получать.
kostyanet
29.11.2014, 13:50
bug https://code.google.com/p/chromium/issues/detail?id=49001
html с сетью никак не связан, браузеру пофигу откуда этот текст получать.
bug https://code.google.com/p/chromium/i...etail?id=49001
это не так, есть протокол передачи данных - есть реакция браузера, делать что-то для протокола file вообще смысла нет, поэтому к багам в этом отношении, предполагаю, отношение скептическое, но есть смысл реализовать собственный локальный сервер (устанавливаемый при установке браузера) с поддержкой используемых на боевом фронте протоколов
kostyanet
29.11.2014, 14:13
Не слушайте дятла, file не протокол, а схема, то есть по-нашему (схема в терминах http) - функция. Разница в том что по схеме http браузер получает сведения о приходящих данных в заголовках, а по схеме file - по метатегам в файле. То есть когда поток - заголовки, а когда файл - теги. Причем браузер может сам запихать туда какие надо меты, чтобы потом нормально открыть.
Проблема тут такая же, как с канвасом, в который локально ничего не запихаешь. Браузер не знает о домене, поэтому теряется в догадках и исходя из принципа лучше перебздеть - отключает некоторые фичи связанные с этой кроссдоменностью. Грамотный браузер должен понимать функцию file://, а неграмотный - тупит. Вот и все.
kostyanet
29.11.2014, 14:17
Короче говоря браузер "думает" что вы открыли файл стилей с чужого сайта и хотите там что-то поменять, типа написать в ::after content:"bes - дятел", чтоб оно на том самом сайте и отобразилось.
Не слушайте дятла, file не протокол, а схема, то есть по-нашему (схема в терминах http) - функция. Разница в том что по схеме http браузер получает сведения о приходящих данных в заголовках, а по схеме file - по метатегам в файле. То есть когда поток - заголовки, а когда файл - теги. Причем браузер может сам запихать туда какие надо меты, чтобы потом нормально открыть.
Проблема тут такая же, как с канвасом, в который локально ничего не запихаешь. Браузер не знает о домене, поэтому теряется в догадках и исходя из принципа лучше перебздеть - отключает некоторые фичи связанные с этой кроссдоменностью. Грамотный браузер должен понимать функцию file://, а неграмотный - тупит. Вот и все.
Короче говоря браузер "думает" что вы открыли файл стилей с чужого сайта и хотите там что-то поменять, типа написать в ::after content:"bes - дятел"
протокол - не более чем набор правил, твоя "схема file" также определяет набор правил, то, что эти наборы разные - очевидно даже для тебя, поэтому иди в ж-пу (Gozar не даст соврать, я пожелал тебе добра :D )
kostyanet
29.11.2014, 14:45
Pft,fk!
URI schemes are frequently and incorrectly referred to as "protocols", or specifically as URI protocols or URL protocols, since most were originally designed to be used with a particular protocol, and often have the same name. - http://en.wikipedia.org/wiki/URI_scheme
Pft,fk!
URI schemes are frequently and incorrectly referred to as "protocols", or specifically as URI protocols or URL protocols, since most were originally designed to be used with a particular protocol, and often have the same name. - http://en.wikipedia.org/wiki/URI_scheme
есть ещё общее понятие протокола, my dear friend ;)
но рад, что ты всё-таки углубляешься в смысл понятий :yes:
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot